package org.frankkie.parcdroid;

import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.RectF;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import java.util.ArrayList;

/**
 *
 * @author frankkie
 */
public class OverlayDinges extends Overlay {

  ArrayList<OverlayPunt> gpsPlekken = new ArrayList<OverlayPunt>();
  ArrayList<OverlayLijn> deLijnen = new ArrayList<OverlayLijn>();

  public OverlayDinges() {
    gpsPlekken.add(new OverlayPunt(51.652872, 5.042809, 0, "Parkeerplaats", "Begin van de parkeerplaats"));
    gpsPlekken.add(new OverlayPunt(51.650568, 5.043443, 1, "Parkeerplaats", "bijna bij Huis van de 5 zintuigen"));
    /////////
    deLijnen.add(new OverlayLijn(0,1));
  }

  @Override
  public void draw(Canvas canvas, MapView mv, boolean shadow) {
    //PixelCalculator: You need to use MapView.getProjection().toPixels() and .fromPixels().
    // ... [ draw things here ] ...
    Paint paint = new Paint();
    for (int a = 0; a < gpsPlekken.size(); a++) {
      Point p1 = mv.getProjection().toPixels(gpsPlekken.get(a).geoPoint, null);
      RectF r1 = new RectF();
      int grootte = gpsPlekken.get(a).getGrootte();
      r1.set(p1.x - grootte, p1.y - grootte, p1.x + grootte, p1.y + grootte);
      canvas.drawOval(r1, paint);
    }
    for (int b=0; b<deLijnen.size(); b++){
      Point punt1 = mv.getProjection().toPixels(gpsPlekken.get(deLijnen.get(b).getPunt1()).geoPoint,null);
      Point punt2 = mv.getProjection().toPixels(gpsPlekken.get(deLijnen.get(b).getPunt2()).geoPoint,null);
      canvas.drawLine(punt1.x, punt1.y, punt2.x, punt2.y,paint);
    }
  }
}
